package dataObjects;

//import java.io.File;
import java.util.LinkedList;
import logicGuiConnection.Movie;

public class MovieImp implements Movie{
	
	private int id;
	private String name;
	private int year;
	private String country;
	private String language;
	private DirectorImp director;
	private boolean isColor;
	private String MPAARating;
	private double ourRating;
	private LinkedList<RoleImp> cast;
	private LinkedList<String> genre;
	//private File description;
	
	/*constructor*/

	public MovieImp(int id, String name, int year, String country,
			String language,DirectorImp director, boolean isColor,
			String MPAARating, double ourRating, 
			LinkedList<RoleImp> actorLst, LinkedList<String> gener
			){
		this.id = id;
		this.name = name;
		this.year = year;
		this.country = country;
		this.language = language;
		this.director = director;
		this.isColor = isColor;
		this.MPAARating = MPAARating;
		this.ourRating = ourRating;
		this.cast = actorLst;
		this.genre = gener;
		//this.description = desc;
	}

	/*getters*/
	
	public int getID(){
		return id;
	}
	
	public String getName(){
		return name;
	}
	
	public int getYear(){
		return year;
	}
	
	public String getCountry(){
		return country;
	}
	
	public String getLanguage(){
		return language;
	}
	public DirectorImp getDirector(){
		return director;
	}

	
	public boolean isColor() {
		return isColor;
	}

	
	public String getMPAARating() {
		return MPAARating;
	}

	
	public double getOurRating() {
		return ourRating;
	}

	
	public LinkedList<RoleImp> getActorLst() {
		return cast;
	}

	
	public LinkedList<String> getGenre() {
		return genre;
	}

	/*
	public File getDesc() {
		return description;
	}
	*/
	
	/*setters*/
	
	public void setID(int id){
		this.id = id;
	}
	
	public void setName(String name){
		this.name = name;
	}
	
	public void setYear(int year){
		this.year = year;
	}
	
	public void setCountry(String country){
		this.country = country;
	}
	
	public void setLanguage(String language){
		this.language = language;
	}
	public void setDirector(DirectorImp dir){
		this.director = dir;
	}

	public void setColor(boolean isColor) {
		this.isColor= isColor;
	}

	public void setMPAARating(String MPAARating) {
		this.MPAARating = MPAARating;
	}

	
	public void setOurRating(double ourRating) {
		this.ourRating = ourRating;
	}

	
	public void setActorLst(LinkedList<RoleImp> cast) {
		this.cast= cast;
	}
	
	public void addRole(RoleImp role){
		this.cast.add(role);
	}
	
	public void removeRole(RoleImp role){
		this.cast.remove(role);
	}

	
	public void setGenre(LinkedList<String> genre) {
		this.genre= genre;
	}

	/*
	public void setDesc(File desc) {
		this.description=desc;
	}
	*/
	
}
